package com.example.batchdemo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * TODO  第二种解决跨域 -  重写 WebMvcConfigurer(全局跨域)
 *       第三种解决跨域（局部） -  在控制器(类上)上使用注解 @CrossOrigin:，表示该类的所有方法允许跨域。
 *                       在方法上使用注解 @CrossOrigin:
 *                         @CrossOrigin(origins = "*")
 *
 * @ClassName CorsConfigTwo
 * @Author xiaojiang
 * @Date 2022/2/24 下午 17:49
 */
@Configuration
public class CorsConfigTwo implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")  //主要参数，至此一条也可以解决跨域
                //是否发送Cookie
                .allowCredentials(true)
                //放行哪些原始域   注意：2.4.0之后如果写.allowedOrigins（*）会报错
                //.allowedOrigins("*")
                .allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"})
                .allowedHeaders("*")
                .exposedHeaders("*");
    }

   /* @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedHeaders("*")
                .allowedMethods("*")
                .maxAge(1800)
                .allowedOrigins("*");
    }*/
}
